// page/component/login/index.js
const { request } = require('../../../utils/request');
const app = getApp();

Page({

  /**
   * 页面的初始数据
   */
  data: {
    username: '',
    password: '',
    isLoading: false

  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  },

  onUsernameInput(e) {
    this.setData({ username: e.detail.value });
  },

  goToRegister() {
    wx.navigateTo({
      url: '/page/component/register/index',
    });
  },
  

  onPasswordInput(e) {
    this.setData({ password: e.detail.value });
  },

  async login() {
    if (this.data.isLoading) return;
    this.setData({ isLoading: true });
    request({
      url: '/user/login',
      method: 'POST',
      data: {
        username: this.data.username,
        password: this.data.password,
      }
    })
    .then((res) => {
      if (res) {
        wx.setStorageSync('token', res.data);
        wx.showToast({ title: '登录成功' });
        this.initUserinfo();
        setTimeout(() => {
          wx.reLaunch({ url: '/page/component/index' }); // 👈 登录成功跳首页
        }, 1000);
      } else {
        console.error('登陆失败');
      }
    })
    .finally(() => {
      // 在请求完成（成功或失败）时关闭加载提示
      wx.hideLoading(); 
    });
  },

  initUserinfo() {
    request({
        url: '/user/now_user_info',
        method: 'GET',
        showLoading: false
      })
      .then((res) => {
        const user = res.data;
        wx.setStorageSync('userInfo', user);
        wx.setStorageSync('userId', user.id);
        wx.setStorageSync('userRoles', res.data.roles);
        app.globalData.userInfo = user;
        console.log("userInfo: ", app.globalData.userInfo, "userId: ", app.globalData.userInfo.id);

        // wx.reLaunch({ url: '/page/component/index' });
      });
  }
})